
/**
 * @typedef { Object } BroadcastConfig - 扫码配置对象
 * @property {string} BroadcastAction - 广播动作/名称
 * @property {string} BroadcastLabelKey - 广播标签（键值/key）
 * @property {string} BroadcastTriglKey - 手动触发扫描 开始扫描键值
**/


/**
 * @desc 手动触发扫码
 * @param { string } triglKey - 开始扫描键值 手动触发扫描 
 **/
export const  manualTrigScan = (triglKey) => {
	const main = plus.android.runtimeMainActivity(); //获取activity 
	var Intent = plus.android.importClass("android.content.Intent");
	var intent = new Intent(triglKey);
	main.sendBroadcast(intent);
}

/**
 * 扫码成功的回调函数
 * @callback scanCallback
 * @param {string} code
 */

/**
 * 初始化pda扫码 监听回调
 * @param { scanCallback } cb 包含code的回调函数
 **/
 export const initPdaScan = (cb) => {
	 uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器
	 setTimeout(() => {
		 uni.$on('scancodedate', function(data) {
			// console.log('data.code', data.code)
			 let code = `${data.code}`
			 code = code.replace(/\n/g, '');
				cb && cb(code)
		 })
	 }, 100)
 }
 
 /**
  * 卸载离开页面组件时 必须移除监听 
  **/
  export const onUnloadPdaScan = () => {
	   uni.$off('scancodedate')
  }